package Demo15.Lambda;

public class demo01Calculator {
    public static void main(String[] args) {
        //常规调用
        invokeCalc(10, 20, new Calculator() {
            @Override
            public int calc(int a, int b) {
                return a + b;
            }
        });
        //使用Lambda表达式，简化匿名内部类的书写
        invokeCalc(10,20,(int a,int b)->{
            return a + b;
        });
        //再简化
        invokeCalc(10,20,(a, b)->a + b);

    }
    //定义一个方法，参数传递两个int类型的整数
    //参数传递Calculator接口
    //方法内部调用Calculator中的方法calc计算两个整数的和
    public static void invokeCalc(int a,int b,Calculator c){
        int sum = c.calc(a,b);
        System.out.println(sum);

    }
}
